package hushi.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@org.springframework.stereotype.Controller
public class Controller {
//    ModelAndView类型，有数据有视图，适用于返回既有数据也有视图的情况下
    @RequestMapping("model")
    public ModelAndView doModel(String name,String tel,String email){
        return new ModelAndView("/modelandview.jsp");
    }

    //    string，有数据无视图，适用于只有视图，以及既有视图也有数据的情况
    @RequestMapping("str")
    public String doStr(){
        return "string.jsp";
    }

//    void，无数据无视图，主要使用ServletApi进行视图以及数据的处理
    @RequestMapping("dovoid")
    public void doVoid(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //服务器端转发
//        request.getRequestDispatcher("dovoid.jsp").forward(request,response);
        //客户端转发
        //方法一
//        response.sendRedirect("dovoid.jsp");
        //方法2
        response.getWriter().write("I like!!!!");//直接写入并覆盖原来jsp内容
        response.getWriter().flush();
        response.getWriter().close(); //使用close()后可以不用写response.getWriter().flush();
    }
}
